#pragma once
#include <string>
#include <vector>
#include <iostream>
#include <opencv2/opencv.hpp>
#include <stdint.h>

#include <dnn/hb_dnn.h>
#include <dnn/hb_sys.h>
#include "model_struct.h"
#include "base_predictor.h"

namespace ai {

class ModelConfig;
class HBModelManager;


struct HBPackPredictor : public BasePackPredictor {
  HBPackPredictor():
    BasePackPredictor(),
    dnn_packed(nullptr), dnn_handle(nullptr) {
  }

  hbPackedDNNHandle_t dnn_packed;
  hbDNNHandle_t dnn_handle;
  std::vector<hbDNNTensor> input_tensors;
  std::vector<hbDNNTensor> output_tensors;
};








}   // namespace hb 
